﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.Composition;
using Core.Common;
using Core.Interfaces;
using Core.DataAccess;
using Core.Components;
using Core.BusinessLogic.Interfaces;
using SonCa.SocialNetwork.Accounts.IPresenters;

namespace SonCa.SocialNetwork.Accounts.Presenters
{
    public class VerifyEmailPresenter
    {
        [Import]
        private IWebContext _webContext;
        [Import]
        private IAccountService _accountService;

        public void Init(IVerifyEmail _view)
        {
            MEFManager.Compose(this);

            string username = Cryptography.Decrypt(_webContext.UsernameToVerify, "verify");

            Account account = _accountService.GetAccountByUsername(username);

            if (account != null)
            {
                account.EmailVerified = true;
                _accountService.SaveAccount(account);
                _view.ShowMessage("Chúc mừng bạn đã kích hoạt tài khoản thành công!");
            }
            else
            {
                _view.ShowMessage("Rất tiếc, đã có sai sót trong link kích hoạt tài khoản của bạn. Bạn vui lòng kiểm tra lại");
            }
        }
    }
}